/**
 * 
 */
package ar.com.contable.ganancias.rule;

import ar.com.contable.ganancias.model.MonthModel;
import ar.com.contable.ganancias.util.Consts;

/**
 * @author E420611
 *
 */
public class RuleTotals extends Rule {

	@Override
	public void apply() {

		MonthModel[] months = this.getModel().getMonths();
		for (MonthModel monthModel : months) {
			
			Float sueldoBruto = monthModel.getValues().get(Consts.SUELDO_BRUTO).getValue();
			Float plusVAcacional = monthModel.getValues().get(Consts.PLUS_VACACIONES).getValue();
			Float bonificacionesYPremios = monthModel.getValues().get(Consts.BONIFICACIONES_Y_PREMIOS).getValue();
			Float primerAgui = monthModel.getValues().get(Consts.PRIMER_AGUINALDO).getValue();
			Float segundoAgui = monthModel.getValues().get(Consts.SEGUNDO_AGUINALDO).getValue();
					
			Float total = sueldoBruto + plusVAcacional + bonificacionesYPremios + primerAgui +segundoAgui;
			monthModel.getValues().get(Consts.TOTAL_GANANCIAS_BRUTAS).setValue(total);
			//monthModel.getValues().put(Consts.TOTAL_GANANCIAS_BRUTAS, total);
			
			Float item21 = monthModel.getValues().get(Consts.INTERESES_DE_DEUDA_QUE_ORIGINAN_LA_GANANCIA).getValue();
			Float item22 = monthModel.getValues().get(Consts.INTERESES_DE_CREDITOS_HIPOTECARIOS).getValue();
			Float item23 = monthModel.getValues().get(Consts.SERVICIO_DOMESTICO).getValue();
			Float item24 = monthModel.getValues().get(Consts.PRIMAS_DE_SEGUROS_DE_VIDA).getValue();
			Float item25 = monthModel.getValues().get(Consts.GASTOS_DE_SEPELIO).getValue();
			Float item26 = monthModel.getValues().get(Consts.APORTES_JUBILATORIOS).getValue();
			Float item27 = monthModel.getValues().get(Consts.APORTES_OBRASOCIAL).getValue();
			Float item28 = monthModel.getValues().get(Consts.APORTES_INSSJYP).getValue();
			Float item29 = monthModel.getValues().get(Consts.APORTES_SINDICALES).getValue();
			Float item20 = monthModel.getValues().get(Consts.SEGUNDO_AGUINALDO).getValue();	
			
			Float total2 = item21 + item22 + item23 + item24 + item25 + item26 + item27 + item28 + item29 + item20;
			monthModel.getValues().get(Consts.TOTAL_DEDUCCIONES_ADMITIDAS).setValue(total2);	
						
		}
		
		
	}

	
}
